home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / language / parallax / readme < prev    next >
Text File  |  1994-10-29  |  20KB  |  471 lines

  1. NOTICE
  2.  
  3. The Parallaxis software package is licensed free of charge. Therefore, we 
  4. provide absolutely no warranty of any kind in any case. The Universitaet 
  5. Stuttgart and the authors provide the Parallaxis software package "as is" 
  6. without warranty of any kind, either expressed or implied, including, but not 
  7. limited to, the implied warrenties of merchantability and fitness for a 
  8. particular purpose. The entire risk as to the quality and the performance of 
  9. the program is with you. Should the Parallaxis software package prove defective,
  10. you assume the cost of all necessary servicing, repair or correction.
  11.  
  12. In no event may the Universitaet Stuttgart or any of the programs' authors be 
  13. liable to you for damages, including any lost profits, lost monies, or other 
  14. special, incidental or consequential damages arising out of the use or inability
  15. to use (including but not limited to loss of data or data being rendered 
  16. inaccurate or losses sustained by third parties or a failure of the program to 
  17. operate with programs not included in the Parallaxis software package) the 
  18. program, even if you have been advised of the possibility of such damages, or 
  19. for any claim by any other party.
  20.  
  21.  
  22. COPYRIGHT AND PUBLIC DOMAIN LICENCE
  23.  
  24. The Parallaxis software package is being distributed by the Universitaet 
  25. Stuttgart as public domain software. Copyright (c) is with the authors, Ingo 
  26. Barth, Thomas Braunl, and Frank Sembach at the Universitaet Stuttgart, IPVR, 
  27. Germany. There is no warranty in any case as stated in the paragraph above.
  28.  
  29. You are free to use and copy the original Parallaxis software package free of 
  30. charge for non-commercial applications, provided that 
  31.     1)  the notices on copyright, public domain, and no warranty of this page
  32.         as well as a reference to this report are included,
  33.     2)  you return a filled-in copy of the attached registration sheet,
  34.         which gives us some information on the distribution of our software.
  35.         An intended commercial use requires the written consent of the authors.
  36.  
  37. You may obtain the Parallaxis software package for any of the following computer
  38. systems:
  39.     *  Apple Macintosh          (MAC OS, 2 MB or more recommended)
  40.     *  IBM PC/AT or compatibles (DOS)
  41.     *  IBM PC/AT or compatibles (OS/2)
  42.     *  IBM PC/AT or compatibles (Unix)
  43.     *  SUN 3                    (Unix, OS 4.0)
  44.     *  SUN 4 / Sparcstation     (Unix, OS 4.0)
  45.     *  HP 9000/300              (HP-UX)
  46.     *  HP /800 series           (HP-UX)
  47.     *  HP/APOLLO 700 series     (HP-UX
  48.     *  DECstation               (Ultrix)
  49.     *  MasPar MP-1              (DEC front end)
  50.     *  Connection Machine CM-2  (Sun front end)
  51.  
  52. For receiving your copy of the Parallaxis software package and the Parallaxis 
  53. user manual, send a fee of DM 10 (outside Europe via air mail US $ 15) for the 
  54. manual and a fee of DM 5 (outside Europe US $ 5) for each computer system 
  55. version you would like to get on floppy disk. If you have Internet access, 
  56. you may also copy the Parallaxis system via "anonymous ftp" from:
  57.   ftp.informatik.uni-stuttgart.de     (129.69.211.1)
  58.   in subdirectory    pub/parallaxis
  59. For mailing bug reports (no calls, please!), suggestions or your favourite 
  60. Parallaxis application, also contact the address below:
  61.  
  62. Dr. Thomas Braunl
  63. Universitaet Stuttgart
  64. Fakultaet Informatik
  65. Postfach 10 60 37
  66. D-7000 Stuttgart 10
  67. Germany
  68.  
  69. FAX:     +49 (711) 78101049
  70. e-mail:  braunl@informatik.uni-stuttgart.de
  71.  
  72.     |                                                           |
  73.    -+-----------------------------------------------------------+- 
  74.     |  New Parallaxis User Manual                               |
  75.     |  Version 2, 2nd Edition  (CS Report 2/92, Feb. 1992)      |
  76.     |            -------------                       ----       | 
  77.     |  includes all the updates and is now available            |
  78.    -+-----------------------------------------------------------+- 
  79.     |                                                           |
  80.  
  81.  
  82. HINTS FOR VERSION 2
  83.  
  84. The power operator is now "**".
  85.  
  86. It is now possible to define multiple topologies at once (disjunct or overlay),
  87. or different topologies for procedures that are not nested. If multiple
  88. topologies are used, the topology name has to be specified for each PARALLEL
  89. block.
  90.  
  91. Since connections are now semi-dynamic, there are no lengthy connection lists
  92. any more at the beginning of each PARZ intermediate code program.
  93.  
  94. The simulator has been extended to operate source level debugging. For this
  95. reason, the compiler optionally generates a cross reference file (".xrf").
  96.  
  97.  
  98. LITERATURE
  99.  
  100. in English:
  101.  
  102. Barth, Braunl, Sembach:  Parallaxis Version 2  User Manual
  103.   Computer Science Report, no. 2/91, Universitaet Stuttgart, Feb. 1991
  104.   --> This report is a must for using Parallaxis !! <--
  105.   -->         Contact the address below.            <--
  106.  
  107. Barth, Braunl, Sembach:  Parallaxis User Manual
  108.   Computer Science Report, no. 3/90, Universitaet Stuttgart, March 1990
  109.   
  110. Braunl:  Parallaxis:  A Flexible Parallel Programming Environment for
  111.    AI Applications,  Applications of Artificial Intelligence VII, 
  112.    Orlando Florida, March 1989, pp. 275 (11)
  113.  
  114. Braunl:  A Specification Language for Parallel Architectures and 
  115.    Algorithms, Fifth International Workshop on Software Specification and 
  116.    Design, Pittsburgh Pennsylvania, May 1989, pp. 49 (3)
  117.  
  118. Braunl:  Structured SIMD Programming in Parallaxis,
  119.    Structured Programming, vol. 10, no. 3, July 1989, pp. 121 (12)
  120.  
  121. Braunl:  Transparent Massively Parallel Programming with Parallaxis,
  122.    ISSM International Conference on Parallel and Distributed Computing and
  123.    Systems, New York NY, Oct. 1990
  124.  
  125.  
  126. in German:
  127.  
  128. Barth:  Entwicklung eines Compilers fuer die parallele Programmiersprache
  129.    Parallaxis, Studienarbeit Nr. 835, Universitaet Stuttgart, March 1990
  130.  
  131. Barth:  Entwicklung eines Compilers fuer Parallaxis mit
  132.    dynamischen Verbindungsstrukturen, Diplomarbeit Nr. 705, 
  133.    Universitaet Stuttgart, Nov. 1990
  134.  
  135. Braunl:  Massiv parallele Programmierung mit dem Parallaxis-Modell
  136.    Informatik-Fachberichte Nr. 246, Springer-Verlag 1990.
  137.  
  138. Krauskopf:  Ein massiv paralleles Verfahren zur Stereobildauswertung,
  139.    Diplomarbeit, Universitaet Stuttgart Nr. 707, Nov. 1990
  140.  
  141. Liebelt:  Entwicklung und Untersuchung von massiv parallelen Hidden-Surface-
  142.    und Raytracing-Algorithmen, Diplomarbeit Nr. 769, Universitaet Stuttgart, 
  143.    Jan. 1991
  144.  
  145. Sembach:  Entwicklung eines Simulators fuer die parallele 
  146.    Zwischensprache PARZ, Studienarbeit Nr. 834, Universitaet Stuttgart, 
  147.    March 1990
  148.  
  149. Sembach:  Entwicklung eines symbolischen Debuggers fuer das parallele
  150.    Sprachensystem Parallaxis/PARZ, Diplomarbeit Nr. 706, Universitaet Stuttgart,
  151.    Nov. 1990
  152.  
  153. Verba:  Massiv-parallele Algorithmen zur Loesung von Problemen der linearen
  154.    Algebra, Studienarbeit Nr. 904, Universitaet Stuttgart, Nov. 1990
  155.  
  156. Walter:  Entwurf von massiv parallelen Simulated Annealing Algorithmen,
  157.   Studienarbeit Nr. 925, Universitaet Stuttgart, Jan. 1991
  158.  
  159. What's New in Version Two
  160. =========================
  161.  
  162. In version 2 of the Parallaxis language definition and the Parallaxis
  163. Programming System we did some major extensions, the most important being the
  164. introduction of semi-dynamical connection structures. Parallaxis programs may
  165. now have several independent or overlapping interconnection structures at a
  166. time, and different connection structures at different times (linked to
  167. procedure scopes). We tried to be upward compatible as much as possible,
  168. however, there are two minor changes you might have to do in order to run
  169. your old (version 1) Parallaxis programs:
  170.  
  171.  
  172. How to upgrade old Parallaxis Programs
  173.  
  174. *    change power operator symbol from "^" to "**"
  175. *    suffix load/store commands in procedures without selection
  176.     with "[*]" selection
  177.  
  178.  
  179. Language Changes
  180.  
  181. Data Types and Operators
  182.     *    Pointers
  183.     *    Variant Records
  184.     *    power operator "**"
  185. Dynamic data structures and variant record structures have been added. Syntax
  186. and Semantics is identical to Modula-2. The power operator had to be changed
  187. to double asterik, since the "^" symbol is now used for dereferencing pointer
  188. expressions.
  189.  
  190. Multiple Configuration and Connection Structures
  191. Several configuation and connection structures may be defined globally for the
  192. entire program, or locally for each procedure. Procedures with configuration/
  193. connection structures may not be nested inside each other. Multiple
  194. configuration/connection structures may be defined on disjointed sets of PEs
  195. (with the possibility of interconnections between these groups), each having
  196. its individual data declaration. Several configuration/connection structures
  197. may also be defined on the same set of PEs, resulting in an overlay structure.
  198. A typical program structure with two disjoint sets of PE groups is:
  199.  
  200.   CONFIGURATION group1 [...];
  201.   CONNECTION ...;  (* connections between group1 PEs *)
  202.   VECTOR ...;      (* vector data for group1 PEs only *)
  203.  
  204.   CONFIGURATION group2 [...];
  205.   CONNECTION ...;  (* connections between group2 PEs or between both groups *)
  206.   VECTOR ...;      (* vector data for group2 PEs only *)
  207.  
  208.   SCALAR ...;      (* common scalar data, there is NO common vector data *)
  209.  
  210.  
  211. PE selection syntax in PARALLEL, LOAD/STORE, and REDUCE statements has been 
  212. changed slightly because of this extension. Besides the PE-range, a selection
  213. also has to specify the name of the configuration in case there are more than
  214. one (i.e.: PARALLEL tree[3..7] ...).
  215.  
  216. Connections are no longer restricted to be 1:1 connections. They may now be
  217. arbitrary m:n connections (that is any input and output port may have an
  218. arbitrary number of connections). The arrival of multiple data values at a time
  219. has to be avoided. Therefore, the data exchange operations may be supplied with
  220. implicit data reduction operations.
  221.  
  222. Data Exchange
  223.     *    propagate [reduce]
  224.     *    send      [reduce]
  225.     *    receive   [reduce]
  226. All participating PEs had to be active in a propagate data exchange operation. 
  227. For multiple independent configuation structures, this is no longer possible. 
  228. Therefore, propagate has been given two siblings: send, for transferring data 
  229. to a destination-PE that does not have to be active (i.e. being in another 
  230. configuration, or also inside the same configuration), and receive, for 
  231. transferring data from a source-PE that does not have to be active.
  232.  
  233. All three data exchange operations may be specified with an implicit reduction 
  234. operator, in order to take care of possible m:n connections, reducing the data 
  235. stream on the way of transfer.
  236.  
  237. Standard Functions
  238.     *    parallel read
  239.     *    parallel write
  240.     *    in/out-connected
  241.     *    new / dispose
  242.     *    graphics routines
  243. Read and write may now take vector arguments, reflecting the parallel I/O 
  244. technology, called "Data Vault" at Thinking Machines and "Parallel Disk Array" 
  245. at MasPar. In/Out-connected functions have been changed according to the new 
  246. multiple connection structures, and dynamic storage allocation functions have 
  247. been added. The graphics routines are being ignored by the simulator in the 
  248. current version and are only executed in the compiled version.
  249.  
  250. Reduction
  251. User-defined reduction functions now have to have two vector arguments and a 
  252. vector result.
  253.  
  254.  
  255. Programming System Changes
  256.  
  257. Compiler
  258. The compiler now optionally creates cross-reference files for the symbolic 
  259. debugger of the simulator.
  260.  
  261. Simulator and Debugger
  262. The simulator also allows variant data structures (unions) and supports dynamic 
  263. connection structures. That is, the PE connections are no longer listed before 
  264. the actual commands in each PARZ program, but there are vector commands connect,
  265. biconnect and disconnect to build and discard dynamic connection structures. As
  266. a consequence, there is now a debugger command for displaying the dynamic 
  267. connections (formerly integrated in the LIST command).
  268.  
  269. The debugger has been extended to a symbolic debugger that operates on 
  270. Parallaxis level and on PARZ level (new commands handling Parallaxis 
  271. expressions are EXAMINE and ASSIGN). Parallaxis source code is always displayed,
  272. when available. All debugger commands formerly using PARZ labels only, may now 
  273. also use Parallaxis source line numbers.
  274.  
  275. The visualizer tool is still not ready for version 2 distribution. 
  276.  
  277. More Compilers
  278. There are two PARZ-to-C compilers. The first one is to speed up 
  279. Parallaxis programs on single-processor Unix workstations, and the second 
  280. compiler has been especially designed to run Parallaxis programs on the 
  281. massively parallel MasPar computer system (16,384 PEs). We hope to finish
  282. a compiler for the Connection Machine soon.
  283.  
  284.  
  285. New Features (Nov. 1991 / Feb. 1992)
  286. ------------------------------------
  287.  
  288. 1)  The PARZ-to-C and PARZ-MPL compilers can include code, which will generate 
  289.     a record-file similiar to the simulator record-file. 
  290.     The option -R invokes this function.
  291.  
  292. 2)  The graphics library functions are implemented in all compilers and the
  293.     simulator for X window systems (Mac and PC will follow).
  294.  
  295. =============================================================================
  296.  
  297. Parallaxis Graphics Interface
  298.  
  299.  
  300. Parallaxis provides a set of primitive procedures and functions to get a
  301. machine independent graphics interface. Although these procedures build
  302. a machine-independent graphics interface,the available graphics features
  303. depend on the machine used.
  304.  
  305. To handle the colors a new data structure is automatically declared:
  306.  
  307. TYPE  COLOR  =  RECORD
  308.                     RED,  GREEN,  BLUE  :  CARDINAL;
  309.                  END;
  310.  
  311. The components of this record hold the intensity of the corresponding co-
  312. lors. All functions and procedures set the read-only variable "Done" according
  313. to the success of the function or procedure.
  314.  
  315. OpenWindow  (SCALAR  x,  y  :  REAL)  :  SCALAR  INTEGER
  316.    opens a new window on the screen with the RELATIVE measure x and y
  317.    (relative to the absolute screen coordinates). The result is the window
  318.    selector which is needed to activate or to close the window.The new
  319.    window will automatically be activated when it is opened. Ifthe new
  320.    window could not be opened, the previously active window will stay
  321.    active.
  322.    YOU HAVE TO CLICK THE MOUSE BUTTON INSIDE A NEWLY OPENED WINDOW FOR
  323.    PROGRAM CONTINUATION!
  324.  
  325. OpenAbsWindow  (SCALAR  x,  y  :  REAL)  :  SCALAR  INTEGER
  326.    opens a new window on the screen with the ABSOLUTE measure x and y
  327.    The result is the window selector which is needed to activate or to 
  328.    close the window. The new window will automatically be activated when it 
  329.    is opened. If the new window could not be opened, the previously active 
  330.    window will stay active.
  331.    YOU HAVE TO CLICK THE MOUSE BUTTON INSIDE A NEWLY OPENED WINDOW FOR
  332.    PROGRAM CONTINUATION!
  333.  
  334. CloseWindow  (SCALAR  handle  :  INTEGER)
  335.    closes the window with the window selector handle. No window
  336.    isactive.  Before the next graphics operation a window has to be
  337.    selected.
  338.  
  339. WindowSize  (SCALAR  VAR  x,  y  :  INTEGER)
  340.    returns the parameters x and y with the measure of the active window
  341.    in pixels.
  342.  
  343. SelectWindow  (SCALAR  handle  :  INTEGER)
  344.    activates the window with the window selector handle for the follo-
  345.    wing graphics commands.
  346.  
  347. SetColor  (SCALAR  c  :  COLOR)
  348. SetColor  (VECTOR  c  :  COLOR)
  349.    sets the actual painting color to the values contained in record "c".
  350.    The real color is depending on the hardware facilities of the system used.
  351.  
  352. SetPixel  (SCALAR  x,  y  :  INTEGER)
  353. SetPixel  (VECTOR  x,  y  :  INTEGER)
  354.    sets the point with the pixel coordinates (x,y) to the previously defined
  355.    color.  If SetPixel is called with vector arguments and SetColor has been
  356.    called previouslly with a scalar parameter, all pixels will be set to
  357.    this color.
  358.  
  359. GetPixel  (SCALAR  x,  y  :  INTEGER)  :  SCALAR  COLOR
  360.    returns the color of the point with the pixel coordinates (x, y).
  361.  
  362. Line  (SCALAR  x1,  y1,  x2,  y2  :  INTEGER)
  363.    draws a line using the actual color from the point with the pixel
  364.    coordinates (x1,y1) to the point with the pixel coordinates (x2, y2).
  365.  
  366. MoveTo  (SCALAR  x,  y  :  INTEGER)
  367.    defines the actual position for the following drawing routines at the
  368.    pixel with the coordinates (x, y).
  369.  
  370. Draw  (SCALAR  c  :  CHAR)
  371.    writes character c to the selected window at the actual position.
  372.  
  373. DrawInt  (SCALAR  i  :  INTEGER;  SCALAR  n  :  CARDINAL)
  374.    writes integer number i with a width of n characters to the selected
  375.    window at the actual position.
  376.  
  377. DrawCard  (SCALAR  i  :  CARDINAL;  SCALAR  n  :  CARDINAL)
  378.    writes cardinal number i with a width of n characters to the selected
  379.    window at the actual position.
  380.  
  381. DrawReal  (SCALAR  r  :  REAL;  SCALAR  n  :  CARDINAL)
  382.    writes floating point number r with a width of n characters to the
  383.    selected window at the actual position.
  384.  
  385. DrawFixPt  (SCALAR  r  :  REAL;  SCALAR  n,  p  :  CARDINAL)
  386.       writes floating point number r with a width of n characters and p
  387.       decimals to the selected window at the actual position.
  388.  
  389. DrawBool  (SCALAR  b  :  BOOLEAN)
  390.    writes boolean value b to the selected window at the actual position.
  391.  
  392. DrawString  (SCALAR  s  :  string)
  393.    writes string s to the selected window at the actual position.
  394.  
  395.  
  396. On UNIX workstations, the output produced by the Draw procedures can
  397. be influenced by setting the environment variable PARALLAXIS_FONT to
  398. a valid X-Windows font string. The building of this string is defined in the
  399. X-Windows documentation.
  400.  
  401. E.g.
  402. $ setenv PARALLAXIS_FONT "-adobe-symbol-*-*-*-*-20-*-*-*-*-*-*-*"
  403. defines that all output is made using the adobe-font symbol in a size of 20
  404. pixel.
  405.  
  406. ==========================================================================
  407.  
  408. REGISTRATION / ORDER SHEET FOR THE PARALLAXIS SOFTWARE PACKAGE
  409.  
  410. Please fill in the blanks and return to:
  411.  
  412.        Dr. Thomas Braunl
  413.        Universitaet Stuttgart
  414.        Fakultaet Informatik
  415.        Postfach 10 60 37
  416.        D-7000 Stuttgart 10
  417.        Germany
  418.  
  419.        e-mail:  braunl@informatik.uni-stuttgart.de
  420.  
  421.  
  422. Name:     (first, last)      ..................................................
  423.  
  424. Company:  (if any)           ..................................................
  425.  
  426. Address:  (street)           ..................................................
  427.  
  428.           (city, ZIP)        ..................................................
  429.  
  430.           (country)          ..................................................
  431.  
  432. E-mail:                      ..................................................
  433.  
  434.  
  435. Intended Use of Parallaxis:  ..................................................
  436.  
  437.                              ..................................................
  438.  
  439.                              ..................................................
  440.  
  441.                              ..................................................
  442.  
  443.  
  444. Application Areas:           ..................................................
  445.  
  446.                              ..................................................
  447.  
  448.                              ..................................................
  449.  
  450.                              ..................................................
  451.  
  452.  
  453. --------------------------------------------
  454. | This is a [REGISTRATION]  / an [ORDER] . |   (please mark)
  455. --------------------------------------------
  456. (please make sure to accompany order with payment!)
  457.  
  458. [    ]  Parallaxis User Manual (order)
  459.  
  460. Computer systems used:       ..................................................
  461. (floppies ordered, resp.)
  462.                              ..................................................
  463.                              
  464.                              ..................................................
  465.  
  466.                              ..................................................
  467.  
  468.  
  469. Thank you for your cooperation!
  470.  
  471.